package com.weiss.jedis.util;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class JedisConnectionFactory {
    private static final JedisPool jedisPool;

    static {
        // 配置连接池
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        // 最大连接数
        jedisPoolConfig.setMaxTotal(4);
        // 最大空闲连接
        jedisPoolConfig.setMaxIdle(4);
        // 最小空闲连接
        jedisPoolConfig.setMinIdle(0);
        // 等待时长，当连接池没有连接可用时，要不要等待，等待多长时间，默认值-1，一直等待
        jedisPoolConfig.setMaxWaitMillis(1000); // 最多等待1000ms
        // 创建连接池对象
        jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379, 100);
    }

    // 提供静态方法
    public static Jedis getJedis(){
        return jedisPool.getResource();
    }
}
